#pragma once

#include "..\\..\\headers.default.h"
#include "..\\..\\headers.cv.h"

#include "ClassInfo.h"

namespace image_parse
{

	class CFileList
	{
	public:
		int FileAmount;
		CSimpleTypeArray<string> TitleList;
		CSimpleTypeArray<string> SourceImageList;
		CSimpleTypeArray<string> GroundTruthList;

	public:
		void myInit(
			string strFN_TitleList
			, string strPN_SourceImageList, string strFN_Sfx_SourceImage
			, string strPN_GroundTruthList, string strFN_Sfx_GroundTruth
			);
	};

	class CFileEntity
	{
	public:
		int W, H, WH;
		CImg<int> SourceImage;
		CImg<int> LabelImage;
		CImg<int> GroundTruthImage;

	public:
		void myInit(string strFN_SourceImage, string strFN_GroundTruthImage, const CClassInfoSet& ClassSet);
		void myInit(const CFileList& FileList, int FileIndex, const CClassInfoSet& ClassSet);
		void DoTRS(int NewW, int NewH, const C_TRSable_Image::CParameters& TRS_Config, bool fTiling);
	};

}

